package com.atguigu.gmall.publisher.controller;

import com.atguigu.gmall.publisher.service.TradeStatsService;
import com.atguigu.gmall.publisher.utils.DateFormatUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.math.BigDecimal;

/**
 * @author Felix
 * @date 2023/7/19
 * 交易域统计Controller
 * @Controller 将当前类对象的创建交给Spring的容器进行管理，如果类中方法的返回值是String的话，会进行页面的跳转
 * 如果不想进行页面的跳转，可以在方法的上面加@ResponseBody
 * @RestController 将当前类对象的创建交给Spring的容器进行管理，如果类中方法的返回值是String的话，将字符串直接返回
 * @RestController = @Controller + @ResponseBody
 * @RequestMapping("/gmv") 拦截请求，将请求交给当前标注的方法进行处理
 */
@RestController
public class TradeStatsController {

    @Autowired
    private TradeStatsService tradeStatsService;

    @RequestMapping("/gmv")
    public String getGMV(@RequestParam(value = "date", defaultValue = "0") Integer date) {
        if (date.equals(0)) {
            date = DateFormatUtil.now();
        }
        BigDecimal gmv = tradeStatsService.getGMV(date);

        String json = "{\"status\": 0,\"data\": " + gmv + "}";
        return json;
    }
}
